set(mem_main_files
	defs.h
	dllmain.cpp
	mem.def
	mem.h
	mem_allocator.cpp
	mem_allocator.h
	mem_allocator.inl
	mem_c_profile.cpp
	mem_c_profile.h
	mem_operators.h
	mem_operators.inl
	mem_profile.cpp
	mem_profile.h
	profile_section.cpp
	profile_section.h
)

set(mem_impl_files
	impl/block_header.cpp
	impl/block_header.h
	impl/block_header.inl
	impl/block_info.cpp
	impl/block_info.h
	impl/block_info.inl
	impl/provider.cpp
	impl/provider.h
	impl/routines.cpp
	impl/routines.h
)

set(mem_all_files
	${common_misc_files}
	${mem_main_files}
	${mem_impl_files}
)

add_library(mem SHARED ${mem_all_files})
add_libs_target(mem)

target_link_libraries (mem core)

source_group(main FILES ${mem_main_files})
source_group(impl FILES ${mem_impl_files})

add_common_properties(mem)

set_target_properties (mem PROPERTIES
	RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})

install (TARGETS mem DESTINATION bin)
